package com.hns.its.domain;

import com.alibaba.fastjson.annotation.JSONField;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.GenericGenerator;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author xuy
 * @version 1.0.0
 * @ClassName ItsTransportPeccancyItemEntity
 * @Description TODO(司机entity)
 * @Date 2017年6月2日 下午5:30:57
 */
@Entity
@Table(name = "its_transport_driver")
public class ItsTransportDriverEntity implements java.io.Serializable {
	private String id;
	private String logisticId;
	private String cusId;
	private String accountId;
	private String code;
	private String name;
	private String organId;
	private String haveDic;//拥有方式
	private String sexDic;
	private Date birthday;
	private String phone;
	private String email;
	private String educationDic;
	private String remark;

	private String registration;//营运证号
	private String driveType;
	private String driveLicense;
	private Date driveLicenseBeginTime;
	private Date driveLicenseEndTime;

	private String driverStatusDic;//司机状态
	private BigDecimal totalKm;//累计公里
	private Integer totalPlan;
	private String isDelete;

	private String createId;
	private String updateId;
	private Date createTime;
	private Date updateTime;

	private String account;
	private Character enable;// 启停状态
	private String orgName;
	private int age;// 年龄
	private String attendanceRate;// 出勤率
	private int completeOrderCnt;// 完成订单数
	private String carNo;

	public ItsTransportDriverEntity() {
	}

	@Id
	@GenericGenerator(name = "system-uuid", strategy = "uuid")
	@GeneratedValue(generator = "system-uuid")
	@Column(name = "id")
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	@Column(name = "logistic_id")
	public String getLogisticId() {
		return logisticId;
	}

	public void setLogisticId(String logisticId) {
		this.logisticId = logisticId;
	}

	@Column(name = "cus_id")
	public String getCusId() {
		return cusId;
	}

	public void setCusId(String cusId) {
		this.cusId = cusId;
	}

	@Column(name = "account_id")
	public String getAccountId() {
		return accountId;
	}

	public void setAccountId(String accountId) {
		this.accountId = accountId;
	}

	@Column(name = "code")
	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	@Column(name = "name")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Column(name = "organ_id")
	public String getOrganId() {
		return organId;
	}

	public void setOrganId(String organId) {
		this.organId = organId;
	}

	@Column(name = "have_dic")
	public String getHaveDic() {
		return haveDic;
	}

	public void setHaveDic(String haveDic) {
		this.haveDic = haveDic;
	}

	@Column(name = "sex_dic")
	public String getSexDic() {
		return sexDic;
	}

	public void setSexDic(String sexDic) {
		this.sexDic = sexDic;
	}

	@JSONField(format = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@Column(name = "birth_date")
	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	@Column(name = "tel")
	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	@Column(name = "email")
	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Column(name = "edu_dic")
	public String getEducationDic() {
		return educationDic;
	}

	public void setEducationDic(String educationDic) {
		this.educationDic = educationDic;
	}

	@Column(name = "remark")
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Column(name = "registration")
	public String getRegistration() {
		return registration;
	}

	public void setRegistration(String registration) {
		this.registration = registration;
	}

	@Column(name = "drive_dic")
	public String getDriveType() {
		return driveType;
	}

	public void setDriveType(String driveType) {
		this.driveType = driveType;
	}

	@Column(name = "drive_license")
	public String getDriveLicense() {
		return driveLicense;
	}

	public void setDriveLicense(String driveLicense) {
		this.driveLicense = driveLicense;
	}

	@JSONField(format = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@Column(name = "drive_license_begin_time")
	public Date getDriveLicenseBeginTime() {
		return driveLicenseBeginTime;
	}

	public void setDriveLicenseBeginTime(Date driveLicenseBeginTime) {
		this.driveLicenseBeginTime = driveLicenseBeginTime;
	}

	@JSONField(format = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@Column(name = "drive_license_end_time")
	public Date getDriveLicenseEndTime() {
		return driveLicenseEndTime;
	}

	public void setDriveLicenseEndTime(Date driveLicenseEndTime) {
		this.driveLicenseEndTime = driveLicenseEndTime;
	}

	@Column(name = "driver_status_dic")
	public String getDriverStatusDic() {
		return driverStatusDic;
	}

	public void setDriverStatusDic(String driverStatusDic) {
		this.driverStatusDic = driverStatusDic;
	}

	@Column(name = "total_km")
	public BigDecimal getTotalKm() {
		return totalKm;
	}

	public void setTotalKm(BigDecimal totalKm) {
		this.totalKm = totalKm;
	}

	@Column(name = "total_plan")
	public Integer getTotalPlan() {
		return totalPlan;
	}

	public void setTotalPlan(Integer totalPlan) {
		this.totalPlan = totalPlan;
	}

	@Column(name = "create_id")
	public String getCreateId() {
		return createId;
	}

	public void setCreateId(String createId) {
		this.createId = createId;
	}

	@Column(name = "update_id")
	public String getUpdateId() {
		return updateId;
	}

	public void setUpdateId(String updateId) {
		this.updateId = updateId;
	}

	@Column(name = "create_time")
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Column(name = "update_time")
	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	@Transient
	public String getAccount() {
		return account;
	}

	public void setAccount(String account) {
		this.account = account;
	}

	@Transient
	public Character getEnable() {
		return enable;
	}

	public void setEnable(Character enable) {
		this.enable = enable;
	}

	@Transient
	public String getOrgName() {
		return orgName;
	}

	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}

	@Column(name = "is_delete")
	public String getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(String isDelete) {
		this.isDelete = isDelete;
	}

	@Transient
	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Transient
	public String getAttendanceRate() {
		return attendanceRate;
	}

	public void setAttendanceRate(String attendanceRate) {
		this.attendanceRate = attendanceRate;
	}

	@Transient
	public int getCompleteOrderCnt() {
		return completeOrderCnt;
	}

	public void setCompleteOrderCnt(int completeOrderCnt) {
		this.completeOrderCnt = completeOrderCnt;
	}

	@Transient
	public String getCarNo() {
		return carNo;
	}

	public void setCarNo(String carNo) {
		this.carNo = carNo;
	}
}
